Liberty Basic Simple Help Version 2

© 2003, Thomas Nally

author contact:

SteelWeaver52@aol.com

Home

Random Access Files

Liberty Simple Help2

Scrolling Background

Blood Presure Sim

Cellular Automata

Making Poker Game

Desktop Shortcuts2

Beginners Programming

Demos

Newsletter help

Index


[Editor: Liberty Basic Simple Help Version 2 (LBSH2) was an entry in the 10-Year Anniversary Contest. Tom has graciously agreed to allow me to publish his program and essay. The LBSH2 program is in the files archive for this issue as a part of the newsletter download. It is called lbsh2.zip.]

Liberty Basic Simple Help Version 2 (LBSH2) is a way to provide Help files within your Liberty Basic applications. LBSH2 uses native Liberty Basic Controls exclusively. By "native" controls, we mean the familiar controls that make up Liberty Basic, such as Buttons, ListBoxes, GraphicBoxes and TextEditor controls.

LBSH2 is an update to Liberty Basic Simple Help (LBSH) which was originally published in Issue 103 of the Liberty Basic Newsletter [http://babek.info/libertybasicfiles/lbnews/nl103/4.htm]. There are two significant changes as LBSH evolved into LBSH2:

(1) A GraphicBox control was added to the upper right-hand corner of the window. As the user navigates through the Help Articles, Help Bitmaps appear in the GraphicBox as each new Help Article is opened.

(2) In LBSH2, the menu of Help Articles is contained in a ListBox. (In the original LBSH, the menu of Help Articles was contained in a ComboBox.) The use of the ListBox is a nice feature because it gives a bigger and broader view of the menu of Help Articles available.

In addition to the two major changes noted above, smaller changes consist of minor rearrangement of the TextBoxes used by the user to track progress through the Help Articles.

LBSH works by loading your help articles or documents into LBSH's TextEditor control. Since your Help system will likely consist of many Help articles, LBSH2 allows the user to pick the one he wants by selecting the article's title from the ListBox located just above the TextEditor control.

As indicated above, LBSH also loads bitmaps designed by the Help Author into LBSH's GraphicBox control. As the user navigates to a new article, a new Help Bitmap associated with that article is loaded into the GraphicBox control.

To understand LBSH2 more fully, the best thing to do would be to Run LBSH2.tkn. Since LBSH2 is a platform for dispensing Help information, I've used LBSH2 to explain itself! The LBSH2 distribution contains 15 articles about the use and features of LBSH2.


While LBSH2 employs no unique programming or technology, the development of the original LBSH revealed an interface irregularity that needed to be solved.

The irregularity has to do with loading the Help Articles, line by line, into the TextEditor control. As each new line was printed to the TextEditor control, Liberty Basic would redraw the control, and previous lines would scroll upward in rapid succession. Visually, this was chaotic and uncomfortable.

The best way that I could find to mitigate this problem was to relocate the TextEditor control off-window, load in the new Help Article, then bring the TextEditor control back into view. This was an improvement, but it resulted in the user staring for a brief moment at a window with a big void space where the TextEditor control used to be.

Still not satisfied, I ended up seeking advice near the very pinnacle of the LB user hierarchy: Alyce Watson. Alyce agreed that moving the TextEditor Control off-window to the load the Help Articles was a good idea. But she suggested that, while the TextEditor control is being loaded off-window, I replace it with a blank TextEditor control on-window. In essence, the positions of these two TextEditor controls are swapped back and forth as new Help Articles are loaded into the system.

This solution turned out to mitigate the problem almost entirely! In my view, there was still a small element of chaos in the loading of text and swapping of TextEditor controls. I decided that the chaos would be further reduced by slowing down the return of the loaded TextEditor control to the window. I accomplished this by using LB's Timer command, and programming it to wait four-tenths of a second before returning the loaded TextEditor control to the viewable portion of the window. While others may disagree, to me this small delay gives the user the sense that he's "turning the page" to a new Help Article.

For Alyce's valuable assistance, the LBSH license requires that Alyce's contribution be mentioned in the source code of the program if other's should choose to use and distribute it.


Home

Random Access Files

Liberty Simple Help2

Scrolling Background

Blood Presure Sim

Cellular Automata

Making Poker Game

Desktop Shortcuts2

Beginners Programming

Demos

Newsletter help

Index